Aggregation and processing of hierarchical data for display of interactive user interface chart elements

ABSTRACT

In non-limiting examples of the present disclosure, systems, methods and devices for generating and displaying interactive charts from hierarchical datasets are presented. A dataset comprising a plurality of data points may be received, wherein each of the data points has a score and a weight associated with it, and wherein each of the plurality of data points is a member of a hierarchical category type of the dataset. A weight value that each hierarchical category type contributes to the dataset, relative to each other category type, may be calculated. A score for each of the hierarchical category types may be calculated. A plurality of objects that each represent one of the hierarchical category types may be displayed in a hierarchical format in association with an indication of the calculated score for each of the objects.

BACKGROUND

The use of productivity applications in tracking data points andmaintaining datasets for reviews and assessments has become nearlyubiquitous as the ability to store and search for data has becomeincreasingly efficient. However, it can be difficult to quicklyascertain what components were the basis for an arrived upon overallscore for a review or assessment, as well as to ascertain whatcomponents were the basis for each sub-score for each category thatfeeds into an overall score for a review or assessment. The problemarises because reviews and assessments generally include a plurality ofcategory types that feed into an overall score, and each category typemay include a plurality of data points, which each have an associatedscore and an associated weight. Charts and graphs do a good job ofconveying either the score, or the weight, associated with each datapoint to users, but they do not typically provide sufficient mechanismsfor displaying easily ascertainable summaries of both the score and theweight of each data point in one visual presentation, or for how thosescores and weights affect a hierarchical data structure composed ofindividual data points that feed into categories, and ultimately anoverall score for a review or assessment.

It is with respect to this general technical environment that aspects ofthe present technology disclosed herein have been contemplated.Furthermore, although a general environment has been discussed, itshould be understood that the examples described herein should not belimited to the general environment identified in the background.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription section. This summary is not intended to identify keyfeatures or essential features of the claimed subject matter, nor is itintended to be used as an aid in determining the scope of the claimedsubject matter. Additional aspects, features, and/or advantages ofexamples will be set forth in part in the description which follows and,in part, will be apparent from the description or may be learned bypractice of the disclosure.

Non-limiting examples of the present disclosure describe systems,methods and devices for aggregating and processing hierarchical datasetsand displaying the result as interactive user interface chart elementsof hierarchical charts. Each hierarchical dataset may comprise aplurality of data points, each of the data points having a score and aweight associated with it, and each of the data points being associatedwith a category type. A weight value may be calculated for each categorytype based on the combined weight value of each of the data points thatfeeds into each category type. A score may be calculated for eachcategory type based on a weighted average of each of the data points'scores that feed into a corresponding category type. A plurality ofobjects representing category types and/or data points of a dataset maybe displayed in a hierarchical chart, along with their hierarchicalconnections. A plurality of the objects may be displayed in ahierarchical format according to size based on the calculated weightvalue for each category type. An indication of the calculated score fora plurality of the category types and/or a plurality of data points mayalso be displayed in association with the plurality of objects in thehierarchical chart generated for a dataset.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive examples are described with reference tothe following figures:

FIG. 1 is a schematic diagram illustrating an example distributedcomputing environment for aggregating and processing hierarchical dataand displaying the result as interactive user interface chart elements.

FIG. 2 is a schematic diagram illustrating the conversion of ahierarchical dataset to interactive user interface chart elements inassociation with a target value.

FIG. 3 is another schematic diagram illustrating the conversion of ahierarchical dataset to interactive user interface chart elements inassociation with accrued and projected values.

FIG. 4 illustrates an exemplary computing device executing aproductivity application with a user interface displaying a plurality ofinteractive user interface chart elements resulting from processing of ahierarchical dataset.

FIG. 5 illustrates the result of a zoom function applied to a section ofhierarchical chart in a user interface of a productivity application.

FIG. 6 is an exemplary method for aggregating and processinghierarchical data and displaying the result as interactive userinterface chart elements.

FIGS. 7 and 8 are simplified diagrams of a mobile computing device withwhich aspects of the disclosure may be practiced.

FIG. 9 is a block diagram illustrating example physical components of acomputing device with which aspects of the disclosure may be practiced.

FIG. 10 is a simplified block diagram of a distributed computing systemin which aspects of the present disclosure may be practiced.

DETAILED DESCRIPTION

Various embodiments will be described in detail with reference to thedrawings, wherein like reference numerals represent like parts andassemblies throughout the several views. Reference to variousembodiments does not limit the scope of the claims attached hereto.Additionally, any examples set forth in this specification are notintended to be limiting and merely set forth some of the many possibleembodiments for the appended claims.

The various embodiments and examples described above are provided by wayof illustration only and should not be construed to limit the claimsattached hereto. Those skilled in the art will readily recognize variousmodifications and changes that may be made without following the exampleembodiments and applications illustrated and described herein, andwithout departing from the true spirit and scope of the claims.

Generally, the present disclosure is directed to systems, methods anddevices for aggregating and processing hierarchical datasets anddisplaying the result as interactive user interface chart elements inhierarchical charts. In some examples, a dataset may be stored with aninstance of a productivity application (e.g., a spreadsheet application,a word processing application, a presentation application, an emailapplication, a business analytics application, a hierarchical chartapplication). For example, a table including a plurality of headings anda plurality of values may be included as a dataset in a spreadsheetapplication. In other examples, a productivity application may retrievea dataset from a remote service (e.g., a web-based service, a storageservice) or a secondary application. The productivity application may beexecuted entirely on a client computing device, entirely on remotecomputing devices as a web-based application, or partially on a clientcomputing device and partially on one or more remote computing devices.In some examples, a productivity application service may be maintainedon one or more remote computing devices for processing hierarchicaldatasets into hierarchical charts.

Upon receiving a dataset, the productivity application and/orproductivity application service may analyze the dataset and determinewhether the dataset is a hierarchical dataset. In determining whetherthe dataset is a hierarchical dataset, the productivity applicationand/or productivity service may determine whether the dataset contains aplurality of data points associated with a plurality of categories, andwhether each of the plurality of data points is associated with a scoreand a weight. If the dataset is determined to be a hierarchical datasetbased on the analysis, a selectable option may be presented and/or madeavailable via the productivity application to generate a hierarchicalchart of the hierarchical dataset. Upon receiving an indication togenerate a hierarchical chart from a hierarchical dataset, theproductivity application and/or the productivity application may processthe hierarchical dataset and cause a hierarchical chart to be displayed.

In generating a hierarchical chart from a hierarchical dataset, theproductivity application and/or productivity service may calculate aweighted average score for each category type of the dataset (i.e., theweighted average of the scores from each data point that is fed into acorresponding category). In generating the hierarchical chart, theproductivity application and/or productivity service may also calculatean overall score for the dataset. The overall score is the averagepercent of all the category scores of the dataset, with weight beingtaken into account. Additionally, prior to generating the hierarchicalchart, a determination is made as to weight values associated with eachcategory type of the dataset and each data point of the dataset.

Upon making each of the above-described calculations and determinationsfor a given dataset, the productivity application and/or productivityservice may cause a plurality of interactive user interface objects tobe displayed hierarchically with their connections as a hierarchicalchart. Each of the plurality of displayed user interface objectscorrespond either to a category type of the dataset or an overall scorefor the dataset. Additionally, each of the plurality of displayedobjects may be presented in the hierarchical chart in a display sizethat corresponds to a weight value for the associated category type. Forexample, if a first category type that feeds into an overall score for adataset has a weight value of 50, and a second category type that feedsinto an overall score for a dataset has a weight value of 100, aninteractive object in the hierarchical chart corresponding to the firstcategory type may have a display size that is half the size of aninteractive object in the hierarchical chart corresponding to the secondcategory type. In some examples, the display size of each interactiveobject corresponding to a category type may not reflect a one-to-onerelationship with the calculated weights for category type. Thus in theabove example, where the first category type has a weight value of 50,and the second category type has a weight value of 100, the interactiveobject in the hierarchical chart corresponding to the first categorytype may have a display size that is smaller than the interactive objectin the hierarchical chart corresponding to the second category type, butit does not necessarily have to be half the size of the interactiveobject corresponding to the second category type (e.g., the first objectcould be ¼, ⅓, ½, etc. the size of the second object). Additionally,each interactive object in the hierarchical chart may be displayed withan indication of a score associated with its category type. Thus, in theabove example, and where each of the interactive objects corresponds toa circular object, if the first category type has a calculated weightedaverage score of 0.30, and the second category type has a calculatedweighted average score of 0.75, the object corresponding to the firstcategory type may have a radial score indicator that is filled in for30% of 360 degrees (i.e., 108 degrees), and the object corresponding tothe second category type may have a radial score indicator that isfilled in for 75% of 360 degrees (i.e., 270 degrees). In some examples,each interactive category type object in the hierarchical chart may alsohave its calculated score displayed in a numerical format in physicalproximity to it in the hierarchical chart.

In some examples, a hierarchical dataset may comprise projected scoresfor one or more data points. As such, the productivity applicationand/or the productivity service may identify each upstream connectionand upstream category type (including the overall category type) and indisplaying each interactive object in the hierarchical chart containinga projected score, the hierarchical chart may differentiate betweenobjects and connections that are affected by a projected score, andobjects and connections that are not affected by a projected score.Various display properties may be utilized in making thisdifferentiation, including the utilization (in interactive objectscorresponding to data points, category types, and connections in thehierarchical chart) of: colors, patterns, shadings, fonts, and linesize.

According to some aspects, a user may set a target score for ahierarchical dataset. In other examples, the productivity applicationand/or the productivity service may have a preset target score forhierarchical datasets and/or hierarchical datasets of a certain type.The target score provides a threshold percentage that each data point,category type and/or overall score must meet or exceed for thecorresponding interactive objects in the hierarchical chart to bedisplayably differentiated from interactive objects in the hierarchicalchart for each data point, category type and/or overall score that donot meet or exceed the overall score. For example, a user interactingwith a hierarchical dataset may set a target score of 75% for thatdataset. Any interactive objects in a hierarchical chart generated fromthe dataset that correspond to a score of less than 75% may thus bedisplayably differentiated from each interactive object in thehierarchical chart that correspond to a score that meets or exceeds 75%.

FIG. 1 is a schematic diagram illustrating an example distributedcomputing environment 100 for aggregating and processing a hierarchicaldataset 103 and displaying the result as interactive user interfacechart elements on a user interface 113 of a computing device 112.

Distributed computing environment 100 comprises computing device 102 andcomputing device 112, which may be the same or different devices.Distributed computing environment 100 also comprises hierarchical datastorage and processing environment 104, which includes hierarchical datastorage 106, and server computing device 108. Distributed computingenvironment 100 also comprises network 110, by which any of thecomputing devices in distributed computing environment 100 maycommunicate with one another.

In some examples, the hierarchical dataset 103 may be stored oncomputing device 102. In other examples, the hierarchical dataset may bestored in remote storage, such as hierarchical data storage 106 inhierarchical data storage and processing environment 104. Similarly, thespreadsheet application displayed on computing device 102 may beexecuted on computing device 102 or the spreadsheet application may beexecuted all or in part on one or more remote computing devices, such asserver computing device 108 in hierarchical data storage and processingenvironment 104.

Computing device 102 is executing a spreadsheet application, whichincludes hierarchical dataset 103. Hierarchical dataset 103 comprises aplurality of data points, each of the data points having a score and aweight associated with it, and each of the data points being a member ofa category type (i.e., a homework category type, a quiz category type, alabs category type, a final category type). Each of the data points inhierarchical dataset 103 corresponds to a weighted score for anassignment, each of which is part of a total grade for a class.Hierarchical dataset 103 comprises a column of assignments, under an“assignment” heading in cell A1 of the spreadsheet application; acategory column of assignment categories, under a “category” heading incell B1 of the spreadsheet application; a score column for accruedscores for each assignment, under a “score” heading in cell C1 of thespreadsheet application; a weight column of weights for each assignment,under a “weight” heading in cell D1; and a projection column, in whichscores that have not been accrued may be inserted, under a “projection”heading in cell E1.

A first data point corresponding to “HW1” in cell A2 in the spreadsheetapplication, is a member of a “homework” category, and has an accruedscore of 0.82, with a weight of 50. A second data point corresponding to“HW2” in cell A3 in the spreadsheet application, is a member of a“homework” category, and has an accrued score of 0.75, with a weight of100. A third data point corresponding to “HW3” in cell A4 in thespreadsheet application, is a member of a “homework” category, and hasan accrued score of 0.91, with a weight of 100. A fourth data pointcorresponding to “Q1” in cell A5 in the spreadsheet application, is amember of a “quiz” category, and has an accrued score of 0.66, with aweight of 50. A fifth data point corresponding to “Q2” in cell A6 in thespreadsheet application, is a member of a “quiz” category, and has anaccrued score of 0.79, with a weight of 75. A sixth data pointcorresponding to “L1”, in cell A7 in the spreadsheet application, is amember of a “labs” category, and has an accrued score of 0.60, with aweight of 75. A seventh data point corresponding to “L2”, in cell A8 inthe spreadsheet application, is a member of a “labs” category, and hasan accrued score of 0.83, with a weight of 100. An eighth data pointcorresponding to “Final”, in cell A9 in the spreadsheet application, isa member of a “final” category, and has an accrued score of 0.91, with aweight of 150.

One or more computing devices associated with hierarchical dataset 103(e.g., computing device 102, server computing device 108) may determinethat hierarchical dataset 103 is a hierarchical dataset based on theformat of the data in the spreadsheet application, the inclusion of aplurality of categories with data points that are scored and weighted inthe spreadsheet application, and/or a user command to recognize thevalues in hierarchical dataset 103 as relating to a hierarchicaldataset. For example, one or more computing devices may determine thathierarchical dataset 103 is hierarchical in nature because a pluralityof its categories (i.e., “homework”, “quiz”, and “labs”) each have atotal categorical score comprised of a plurality of individual datapoints (i.e., “HW1”, “HW2” and “HW3” for “homework”, “Q1” and “Q2” for“quiz”, and “L1” and “L2” for “labs”), and/or the total score for aclass associated with hierarchical dataset 103 is comprised of aplurality of weighted scores for each of the categories represented byhierarchical dataset 103.

A user may initiate processing of hierarchical dataset 103 intointeractive user interface chart elements. For example, a user may beprovided with a selectable user interface element, which upon itsselection, converts hierarchical dataset 103 into interactive userinterface chart elements and their hierarchical connections; or a usermay provide an audible or typed command to computing device 102 toconvert hierarchical dataset 103 into interactive user interface chartelements. Other mechanisms for initiating processing of hierarchicaldataset 103 into interactive user interface chart elements are possibleas will be readily understandable by those of skill in the art.

One or more computing devices associated with hierarchical data set 103(e.g., computing device 102, server computing device 108) may processhierarchical dataset 103 into interactive user interface chart elementsfor display on a user interface of the spreadsheet application, or adifferent application user interface.

In the illustrated example, computing device 112 displays the result ofprocessing of hierarchical dataset 103 into interactive user interfacechart elements and their hierarchical connections, on user interface113. Each of the designated categories from hierarchical dataset 103, inaddition to an “overall” category resulting from the scored and weighteddata points of each of the designated categories, correspond to acircular user interface element on the user interface shown on computingdevice 112. In some examples, the size of each of the displayed circularuser interface elements corresponds to each corresponding category'sweight in relation to each category's weighted contribution to theoverall score for the class. In other examples, only a plurality of thedisplayed circular user interface elements may be sized according toweight. In some examples, the “overall” hierarchical category userinterface element, and each category user interface element that feedsdirectly into the “overall” hierarchical category score may be sizedbased on weight (as is the case in shown in the illustrated example inuser interface 113). In other examples, the plurality of user interfaceelements that are sized according to weight may correspond to two ormore categories, or two or more data points, of a hierarchical datasetthat have been zoomed in on in the graphical user interface (e.g., userinterface 113), or that have been otherwise selected in the graphicaluser interface.

Each of the hierarchical user interface elements that are sized based onweight may have a displayed indication of an accrued or projected scoreassociated with them. For example, each of the categories that havecorresponding hierarchical user interface elements in user interface113, which are sized based on weight (i.e., “overall”, “homework”,“lab”, “final”, “quiz”), has percentage of a total possible score thatmatches an accrued weighted average score for each correspondingcategory displayed in the center of each hierarchical circular userinterface element, in addition to having that percentage indicated bydegrees of 360 in an outside ring of each circular user interfaceelement. The indication of the percentage in the outside ring of eachuser interface element is the percentage of 360 degrees of the circularelement that the accrued weighted score makes up for (e.g., 80.5% of 360degrees is 289.8 degrees).

In the illustrated example, based on the accrued scores for the“homework” category (i.e., score for “HW1”, “HW2”, and “HW3”), a totalweighted average accrued score for that category is 82.8%, which isdisplayed in the middle of the “homework” user interface element of userinterface 113, as well as being indicated in the outside ring of thatelement. Based on the accrued scores for the “lab” category (i.e., “L1”,“L2”), a total weighted average accrued score for that category is73.1%, which is displayed in the middle of the “labs” user interfaceelement of user interface 113, as well as being indicated in the outsidering of that element. Based on the accrued score for the only data pointin the “final” category (i.e., “final”), a total average accrued scorefor that category is 91%, which is displayed in the middle of the“final” user interface element of user interface 113, as well as beingindicated in the outside ring of that element. Based on the accruedscores for the “quiz” category (i.e., “Q1” and “Q2”), a total averageaccrued score for that category is 73.8%, which is displayed in themiddle of the “quiz” user interface element of user interface 113, aswell as being indicated in the outside ring of that element. Finally,for the “overall” category, the indicated score reflects the averagepercent of each of its feeder categories (i.e., “homework”, “lab”,“quiz”, “final”), with their weights being factored into that average.Thus, the percentage for the “overall” category is 80.5%, which isdisplayed in the middle of the “overall” user interface element of userinterface 113, as well as being indicated in the outside ring of thatelement.

FIG. 2 is a schematic diagram illustrating the conversion of ahierarchical dataset 202, to interactive user interface chart elementsin a user interface 209, in association with a target value.Hierarchical dataset 202 is the same dataset as shown in relation toFIG. 1. However, in FIG. 2, a user, or an application setting, hasprovided a target value of 80%. The target value provides a thresholdpercentage for differentiating data points and/or categories, in theirdisplay in the hierarchical chart, that have dataset values that areabove or below a set target value. In the illustrated example, each ofthe circular data points and categories for which a determination hasbeen made that a weighted aggregate or projected score falls below 80%,the corresponding hierarchical chart element has either a grey ringedoutline corresponding to the element's score percentage (for elementsthat are sized based on weight in the hierarchical chart—interactivechart element 211 and interactive chart element 213) or is filled inwith grey (for elements that are one or more hierarchical levels belowthe highest “in focus” hierarchical level—interactive chart element 216,interactive chart element 212, and interactive chart elements 214).Alternatively, each of the circular data points and categories for whicha determination has been made that a weighted aggregate or projectedscore is 80% or above, the corresponding hierarchical chart element haseither a black ringed outline corresponding to the element's scorepercentage (for elements that are sized based on weight in thehierarchical cart—interactive chart element 215, interactive chartelement 217, and interactive chart element 218) or is filled in withblack (for elements that are one or more hierarchical levels below thehighest “in focus” hierarchical level—interactive chart element 219,interactive chart element 220, and interactive chart element 222).

Score value 204, for the “HW2” assignment in hierarchical dataset 202,corresponds to interactive chart element 212. Score value 204 has avalue of 0.75, which falls below the set target value of 80%. As such,interactive chart element 212 has a grey display type that indicatesthat it falls below the set target value. Score values 205, for the “Q1”and “Q2” assignments in hierarchical dataset 202, correspond tointeractive chart elements 214. The score value for “Q1” has a value of0.66, and the score value for “Q2” has a value of 0.79, which both fallbelow the set target value of 80%. As such, interactive chart elements214 have a grey display type that indicate that those data points fallbelow the set target value. Score value 206, for the “L1” assignment inhierarchical dataset 202, corresponds to interactive chart element 216.Score value 206 has a value of 0.60, which falls below the set targetvalue of 80%. As such, interactive chart element 216 has a grey displaytype that indicates that it falls below the set target value.

The weighted average score for the “homework” data points, correspondingto interactive user interface element 218 (i.e., “homework”), is 82.8%,which is above the set target value of 80%. As such, interactive userinterface element 218 has a display property (a black outside ringidentifying the weighted average score of its data points—the score forhomework assignments “HW1”, “HW2”, and “HW3”) in the hierarchical chartthat identifies it as meeting or exceeding the set target value. Theweighted average score for the “final”, which only has one data point,corresponding to interactive user interface element 217 (i.e., “final”),is 91%, which is above the set target value of 80%. As such, interactiveuser interface element 218 has a display property (a black outside ringidentifying the weighted average score of its data points—in this casethe score for its one data points for “final”). The weighted averageoverall score for all the data in hierarchical dataset 202,corresponding to interactive user interface element 215, is 80.5%, whichis above the set target value of 80%. As such, interactive userinterface element 215 has a display property (a black outside ringidentifying the weighted average score of its feeder values) in thehierarchical chart that identifies it as meeting or exceeding the settarget value.

The set target value may be displayed in association with thehierarchical chart. For example, the set target value, as well as thedisplay properties that differentiate interactive display elements forwhich corresponding data is above or below that threshold value, isdisplayed in user interface 209 by hierarchical chart element 210. Itshould be understood that display mechanisms other than black or greycolor differentiation may be utilized in differentiating data pointsand/or categories in the hierarchical chart that fall above or below aset target value. For example, a blue color may be used to identify datapoints and/or categories in the hierarchical chart that are above a settarget threshold, and a red color may be used to identify data pointsand/or categories in the hierarchical chart that are below a set targetthreshold. Other color differentiations are also possible. Similarly,various shading colors and patterns and/or hatched colors and patterns,and line thicknesses may be utilized in differentiating user interfaceelements in the hierarchical chart corresponding to data points and/orcategories that have values that fall above or below a set targetthreshold value.

FIG. 3 is a schematic diagram illustrating the conversion of ahierarchical dataset 302 to interactive user interface chart elements inassociation with accrued and projected values. Hierarchical dataset 302is the same as the hierarchical datasets depicted in FIG. 1 and FIG. 2,except that, in the place of accrued scores for assignment “Q2” andassignment “final”, hierarchical dataset 302 has projected scores forthose assignments. Specifically, assignment “Q2” has a projected score304 of 79% (i.e., 0.79), and assignment “final” has a projected score306 of 91% (i.e., 0.91).

Projected scores may be input by users of hierarchical datasets and/orhierarchical charts. For example, a user that has an incompletehierarchical dataset that describes her performance on one or morescored and weighted data points and/or categories, may be interested tosee a user-friendly chart depicting what her performance is based onprojected scores for one or more data points in a dataset for which shehas not accrued scores for yet. Such a user, utilizing the systems,methods, and devices described herein, may input a projected score, intoa hierarchical dataset, for one or more data points of the hierarchicaldataset, and a hierarchical chart may be generated based on thoseprojected scores and/or any accrued scores for data points that mayalready have been completed/accrued. In other examples, rather thaninputting projected scores directly into a hierarchical dataset, a usermay zoom in on one or more categories and/or data points in ahierarchical chart that they wish to add a projected score for, and auser may add a projected score and/or modify an existing score to aprojected score, via one or more mechanisms in the hierarchical chartuser interface/application, and the corresponding projected score may beupdated in the underlying hierarchical dataset. In additional examples,if one or more scores of a hierarchical dataset have not accrued, anapplication and/or service associated with the hierarchical dataset maycause projected scores to be automatically input in the hierarchicaldataset for the non-accrued scores. The projected scores that areautomatically input into the hierarchical dataset may be calculatedbased on, for example, an average of the accrued scores for acorresponding category type and/or an average of the accrued scores forall category types.

Upon receiving a dataset that comprises one or more projected values forone or more data points and/or categories, one or more computing devicesassociated with the underlying dataset (e.g., a computing device runninga productivity application that includes the underlying dataset, acomputing device running an application that displays interactivehierarchical charts, a server computing device such as server computingdevice 108 in FIG. 1 that executes one or more operations associatedwith a productivity application that includes the underlying datasetand/or that executes one or more operations associated with anapplication that displays interactive hierarchical charts) may cause ahierarchical chart comprising a plurality of interactive user interfaceelements, sized based on their weight value and including a displayedindication of weighted score averages, to be displayed with theirhierarchical connections on user interface 309. The computing device mayalso cause one or more additional interactive user interface elementscorresponding to categories in the hierarchical dataset, or data pointsin the hierarchical dataset, that feed into (i.e., are lower in thehierarchy of the dataset) to be displayed with their hierarchicalconnections on user interface 309. However, unlike hierarchical chartelements that correspond to categories and/or data points of a datasetthat includes only aggregate scores, each chart element (as well as itsdisplayed upstream hierarchical connections) that is generated in wholeor in part based on one or more projected scores in a hierarchicaldataset may be differentiated in its display from each chart element (aswell as its displayed upstream hierarchical connects) that is generatedbased on only aggregate scores in a hierarchical dataset.

In the illustrated example, completed vs projected key 314 in thehierarchical chart on user interface 309, indicates display propertiesfor user interface elements (and hierarchical connections) in thehierarchical chart that are based on projected scores, as well asdisplay properties for user interface elements (and hierarchicalconnections) in the hierarchical chart that are based only onaccrued/completed scores. Specifically, completed vs projected key 314indicates that user interface elements in the hierarchical chart thatare based on projected scores have a diagonal line pattern in theirscore rings, and their upstream hierarchical connections are displayedas dashed lines. Alternatively, completed vs projected key 314 indicatesthat user interface elements in the hierarchical chart that are basedonly on accrued/completed scores have filled-in score rings, and theirupstream hierarchical connects are displayed as complete un-dashed,full, lines.

It should be understood that, in line with the scope of the currentdisclosure, alternatives other than the lined vs filled-in score ringdisplay property, are possible for differentiating projected score userinterface elements from accrued/completed score user interface elementsin the hierarchical chart. For example, different patterns, colors,highlights, filters, and the like may be utilized to displayablydifferentiate projected score user interface elements fromaccrued/completed score user interface elements. In some examples,additionally or alternatively to displayably differentiating projectedscore user interface elements from accrued/completed score userinterface elements, a hierarchical chart user interface may display apop up window and/or a hierarchical chart application may provide anaudible cue that indicates that a selected user interface element (e.g.,an element hovered over with a cursor, an element clicked on via amouse, an element interacted with via a touchpad or touch-sensitivedisplay input) is either an accrued user interface element or projecteduser interface element.

In the illustrated example, the score for data point “Q2” inhierarchical dataset 302 is a projected score 304 of 79% (i.e., 0.79),which has been generated into interactive user interface element 318 ofthe hierarchical chart displayed on user interface 309. The projectedscore for data point “Q2” is one of two downstream “quiz” scores thatfeed into the weighted average that is the basis for generation ofinteractive user interface element 316. The other downstream quiz scoredata point that feeds into the weighted average that is the basis forgeneration of interactive user interface element 316 is the accrued quizscore for “Q1”, which is 0.66 (i.e., 66%). Similarly, the weightedaverage score of “Q1” and “Q2”, corresponding to interactive userinterface element 316 in the hierarchical chart, is one of four valuesthat feed upstream into the “overall” scored and weighted average forthe dataset, which is reflected as interactive user interface element312 in the hierarchical chart. As such, each user interface elementcorresponding to a data point and/or category that is based on at leastone projected score—in this case data point 318—is caused to bedisplayed with an indication that it is based on at least one projectedscore. Thus, user interface element 318 is displayed in a lined crosspattern, the score ring for user interface element 316 is displayed in alined cross pattern, the score ring for user interface element 312 isdisplayed in a lined cross pattern, the hierarchical connection betweenuser interface element 318 and user interface element 316 is displayedas a dashed line, and the hierarchical connection between user interfaceelement 316 and user interface element 312 is displayed as a dashedline.

The score for data point “final” in hierarchical dataset 302 isprojected score 306 of 91% (i.e., 0.91), which has been generated intointeractive user interface element 310 of the hierarchical chartdisplayed on user interface 309. Because user interface element 310 wasgenerated based on at least one projected score, the score ring for userinterface element 310 is displayed in a lined cross pattern, therebyidentifying it as a projection, and the hierarchical connection betweenuser interface element 310 and user interface element 312 is displayedas a dashed line, thereby identifying that any depicted chart elementsand/or scores displayed upstream from user interface element 310 arebased on at least one projected score.

FIG. 4 illustrates an exemplary computing device 400 executing aproductivity application with a user interface 401 displaying aplurality of interactive user interface chart elements resulting fromprocessing of a hierarchical dataset. The user interface also includespop-up window 404, which is caused to be displayed on user interface 401in proximity to user interface element 402, when a user interacts withuser interface element 402. For example, pop-up window 404 may be causedto be displayed when a user provides a mouse click on user interfaceelement 402, hovers a cursor over user interface element 402, and/orselects user interface element 402 via a touch-sensitive display ofcomputing device 400.

Pop-up window 404 includes summary information related to user interfaceelement 402, which is obtained from the underlying hierarchical datasetwhich the hierarchical chart that includes user interface element 402was generated from. In this specific example, the information in pop-upwindow 404 includes the assignment name for the data point correspondingto user interface element 402 (i.e., “Quiz 1), the accrued or projectedscore for the data point corresponding to user interface element 402(i.e., 66%), and the weight of the accrued or projected score for thedata point corresponding to user interface element 402 (i.e., 7%).

Interacting with a category type user interface element of thehierarchical chart may cause additional information to be displayed in apop-up window in a similar manner to pop-up window 404. For example, ifa user interacts with the “overall” hierarchical chart element, a pop-upwindow may be caused to be displayed that includes one or more of: anumber of accrued data points and/or categories included in the scorefor the “overall” chart element, a number of projected data pointsand/or categories that were fed into the score for the “overall” chartelement, the names of one or more data points and/or categories thatwere fed into the score for the “overall” chart element, as well asother summary information.

FIG. 5 illustrates the result of a zoom function applied to a section ofhierarchical chart in a user interface 503A/503B of a productivityapplication executed on a computing device 502A/502B. User interface503A includes a hierarchical chart that includes a plurality ofhierarchical user interface elements. In particular, an “overall”hierarchical chart element, and the chart elements corresponding tocategories for which scores directly feed into the overall weightedscore for the “overall” hierarchical category, are displayed in thehierarchical chart in a size corresponding to their weight, and includea display indication of their corresponding scores. Alternatively, eachdata point and/or category that is at least two levels down from the“overall” hierarchical category is displayed in the same size and doesnot include a display indication of its corresponding score.

In the illustrated example, a user as provided an indication to“zoom-in” on interactive hierarchical chart element 504 corresponding tothe weighted average value of two quizzes. That feed into hierarchicalchart element 504. The indication to “zoom-in” may be received byreceiving a mouse click on hierarchical chart element 504, receiving averbal cue to zoom-in on hierarchical chart element 504, and/orreceiving an input on a touch sensitive display of computing device 502Aat hierarchical chart element 504. Upon receiving the indication tozoom-in on hierarchical chart element 504, chart element 504, and thedata points that feed into chart element 504, are caused to be displayedin a prominent position on user interface 503B. The prominent positionand change of position/prominence of these elements is shown in relationto surrounding box 508 on user interface 503B. Additionally, chartelement 504 is caused to be displayed with an indication of the weightedaverage score for the quiz category (i.e., an indication of the weightedaverage accrued score for quiz 1 and quiz 2), and the two data pointsthat feed into the quiz category are caused to be displayed with anindication of the accrued score for each of those data points (i.e., 66%percent for quiz 1 and 79% for quiz 2). The rest of the displayedhierarchical chart on user interface 503A is also caused to be displayedin a less prominent manner (e.g., less centered display, smallerdisplay, not including as much information about one or more elements)than the interacted with hierarchical chart element and the elementsthat feed into the interacted with hierarchical chart element (i.e., theelements in surrounding box 508).

FIG. 6 is an exemplary method 600 for aggregating and processinghierarchical data and displaying the result as interactive userinterface chart elements. The method 600 begins at a start operation andflow continues to operation 602 where a dataset comprising a pluralityof data points is received. Each of data point in the received datasethas a score and a weight associated with it, and each data point in thereceived dataset is a member of a hierarchical category type of thedataset. The dataset may be stored on a same client computing device asthe hierarchical graph will be displayed on, or the dataset may bestored on a remote computing device. In some examples, the dataset maybe associated with a productivity application that generates anddisplays the hierarchical chart. In other examples, the dataset may beassociated with a third-party service.

From operation 602 flow continues to operation 604 where a weight valuethat each hierarchical category type contributes to the hierarchicaldataset is calculated. That is, each data point in the hierarchicaldataset has a weight associated with it, and the weight value for eachdata point is calculated by normalizing each data point's weight by thetotal sum of all of the data points' weights of the hierarchical chart.Weight values are calculated for higher level nodes corresponding tocategory types (i.e., category types that incorporate scores and weightsfrom a plurality of data points) by adding the sum weight value of eachof the data points that feed into each corresponding category type. Forexample, if an “attendance” category type for an employee evaluationhierarchical dataset has twelve data points (e.g., January throughDecember) with weights of 2% associated with each of those twelve datapoints, the corresponding weight value for the “attendance” categorytype is the sum of the weight percentages of each of the twelve datapoints (i.e., 24%).

From operation 604 flow continues to operation 606 where a score foreach of the hierarchical category types is calculated. The score foreach category type is a weighted average of each of the values that feedinto each corresponding category type. For example, if for employeereviews there is an “attendance” category type, and there are two monthsthat feed into that category type because an employee has only been withthe company for two months, the score for the “attendance” category typewould be the weighted average of the attendance scores for the twomonths that feed into the “attendance” category type. Similarly, thescore for the “overall” category type is the weighted average percent ofthe categories that feed into the “overall” category.

From operation 606 flow continues to operation 608 where a plurality ofobjects that each represent one of the hierarchical category types aredisplayed, in a hierarchical format relative to the calculated weightvalues, in association with an indication of a corresponding calculatedscore. The hierarchical format may be a size format, whereby each of theplurality of objects is displayed in a size corresponding to itscalculated weight value (i.e., a higher weight value corresponds to alarger display size). In some examples, the hierarchical format may alsorelate to displayed connections between displayed objects thatcorrespond to category types, and category types and/or data pointsrepresented in the hierarchical graph that feed into those displayedobjects. According to some examples, each displayed object may have adisplay property associated with it that identifies whether the scoreassociated with it is based on one or more projected scores, or whetherthe score associated is based only on accrued scores. In additionalexamples, each displayed connection that is upstream from a categorytype object or data point object in the hierarchical chart may have adisplay property associated with it that identifies whether one or moredownstream objects is based on one or more projected scores. In stilladditional examples, a user may set a target score for a dataset, andeach object corresponding to a data point, a category type and/or anoverall score, may have a display property associated with itidentifying whether the calculated score for that object meets thetarget score value, or is below the target score value.

From operation 608 flow continues to an end operation, and the method600 ends.

FIGS. 7 and 8 are simplified diagrams of a mobile computing device withwhich aspects of the disclosure may be practiced.

FIGS. 7 and 8 illustrate a mobile computing device 700, for example, amobile telephone, a smart phone, wearable computer, a tablet computer,an e-reader, a laptop computer, and an augmented reality computer, withwhich embodiments of the disclosure may be practiced. With reference toFIG. 7, one aspect of a mobile computing device 700 for implementing theaspects is illustrated. In a basic configuration, the mobile computingdevice 700 is a handheld computer having both input elements and outputelements. The mobile computing device 700 typically includes a display705 and one or more input buttons 710 that allow the user to enterinformation into the mobile computing device 700. The display 705 of themobile computing device 700 may also function as an input device (e.g.,a touch screen display). If included, an optional side input element 715allows further user input. The side input element 715 may be a rotaryswitch, a button, or any other type of manual input element. Inalternative aspects, mobile computing device 700 may incorporate more orfewer input elements. For example, the display 705 may not be a touchscreen in some embodiments. In yet another alternative embodiment, themobile computing device 700 is a portable phone system, such as acellular phone. The mobile computing device 700 may also include anoptional keypad 735. Optional keypad 735 may be a physical keypad or a“soft” keypad generated on the touch screen display. In variousembodiments, the output elements include the display 705 for showing agraphical user interface (GUI), a visual indicator 620 (e.g., a lightemitting diode), and/or an audio transducer 725 (e.g., a speaker). Insome aspects, the mobile computing device 700 incorporates a vibrationtransducer for providing the user with tactile feedback. In yet anotheraspect, the mobile computing device 700 incorporates input and/or outputports, such as an audio input (e.g., a microphone jack), an audio output(e.g., a headphone jack), and a video output (e.g., a HDMI port) forsending signals to or receiving signals from an external device.

FIG. 8 is a block diagram illustrating the architecture of one aspect ofa mobile computing device. That is, the mobile computing device 800 canincorporate a system (e.g., an architecture) 802 to implement someaspects. In one embodiment, the system 802 is implemented as a “smartphone” capable of running one or more applications (e.g., browser,e-mail, calendaring, contact managers, messaging clients, games, andmedia clients/players). In some aspects, the system 802 is integrated asa computing device, such as an integrated personal digital assistant(PDA) and wireless phone.

One or more application programs 866 may be loaded into the memory 862and run on or in association with the operating system 864. Examples ofthe application programs include phone dialer programs, e-mail programs,personal information management (PIM) programs, word processingprograms, spreadsheet programs, Internet browser programs, messagingprograms, and so forth. The system 802 also includes a non-volatilestorage area 868 within the memory 862. The non-volatile storage area868 may be used to store persistent information that should not be lostif the system 802 is powered down. The application programs 866 may useand store information in the non-volatile storage area 868, such ase-mail or other messages used by an e-mail application, and the like. Asynchronization application (not shown) also resides on the system 802and is programmed to interact with a corresponding synchronizationapplication resident on a host computer to keep the information storedin the non-volatile storage area 868 synchronized with correspondinginformation stored at the host computer. As should be appreciated, otherapplications may be loaded into the memory 862 and run on the mobilecomputing device 800, including instructions for identifying a targetvalue in a data set.

The system 802 has a power supply 870, which may be implemented as oneor more batteries. The power supply 870 might further include anexternal power source, such as an AC adapter or a powered docking cradlethat supplements or recharges the batteries.

The system 802 may also include a radio interface layer 872 thatperforms the function of transmitting and receiving radio frequencycommunications. The radio interface layer 872 facilitates wirelessconnectivity between the system 802 and the “outside world,” via acommunications carrier or service provider. Transmissions to and fromthe radio interface layer 872 are conducted under control of theoperating system 864. In other words, communications received by theradio interface layer 872 may be disseminated to the applicationprograms 866 via the operating system 864, and vice versa.

The visual indicator 720 may be used to provide visual notifications,and/or an audio interface 874 may be used for producing audiblenotifications via the audio transducer 725. In the illustratedembodiment, the visual indicator 720 is a light emitting diode (LED) andthe audio transducer 725 is a speaker. These devices may be directlycoupled to the power supply 870 so that when activated, they remain onfor a duration dictated by the notification mechanism even though theprocessor 860 and other components might shut down for conservingbattery power. The LED may be programmed to remain on indefinitely untilthe user takes action to indicate the powered-on status of the device.The audio interface 874 is used to provide audible signals to andreceive audible signals from the user. For example, in addition to beingcoupled to the audio transducer 725, the audio interface 874 may also becoupled to a microphone to receive audible input, such as to facilitatea telephone conversation. In accordance with embodiments of the presentdisclosure, the microphone may also serve as an audio sensor tofacilitate control of notifications, as will be described below. Thesystem 802 may further include a video interface 876 that enables anoperation of an on-board camera 730 to record still images, videostream, and the like.

A mobile computing device 800 implementing the system 802 may haveadditional features or functionality. For example, the mobile computingdevice 800 may also include additional data storage devices (removableand/or non-removable) such as, magnetic disks, optical disks, or tape.Such additional storage is illustrated in FIG. 8 by the non-volatilestorage area 868.

Data/information generated or captured by the mobile computing device800 and stored via the system 802 may be stored locally on the mobilecomputing device 800, as described above, or the data may be stored onany number of storage media that may be accessed by the device via theradio interface layer 872 or via a wired connection between the mobilecomputing device 800 and a separate computing device associated with themobile computing device 800, for example, a server computer in adistributed computing network, such as the Internet. As should beappreciated such data/information may be accessed via the mobilecomputing device 800 via the radio interface layer 872 or via adistributed computing network. Similarly, such data/information may bereadily transferred between computing devices for storage and useaccording to well-known data/information transfer and storage means,including electronic mail and collaborative data/information sharingsystems.

FIG. 9 is a block diagram illustrating physical components (e.g.,hardware) of a computing device 900 with which aspects of the disclosuremay be practiced. The computing device components described below mayhave computer executable instructions for assisting with interactingwith and processing hierarchical datasets. In a basic configuration, thecomputing device 900 may include at least one processing unit 902 and asystem memory 904. Depending on the configuration and type of computingdevice, the system memory 904 may comprise, but is not limited to,volatile storage (e.g., random access memory), non-volatile storage(e.g., read-only memory), flash memory, or any combination of suchmemories. The system memory 904 may include an operating system 905suitable for running one or more productivity application programs. Theoperating system 905, for example, may be suitable for controlling theoperation of the computing device 900. Furthermore, embodiments of thedisclosure may be practiced in conjunction with a graphics library,other operating systems, or any other application program and is notlimited to any particular application or system. This basicconfiguration is illustrated in FIG. 9 by those components within adashed line 908. The computing device 900 may have additional featuresor functionality. For example, the computing device 900 may also includeadditional data storage devices (removable and/or non-removable) suchas, for example, magnetic disks, optical disks, or tape. Such additionalstorage is illustrated in FIG. 9 by a removable storage device 909 and anon-removable storage device 910.

As stated above, a number of program modules and data files may bestored in the system memory 904. While executing on the processing unit902, the program modules 906 (e.g., hierarchical chart application 920)may perform processes including, but not limited to, the aspects, asdescribed herein. According to examples, the dataset analysis engine 911may perform one or more operations associated with determining whether adataset is a hierarchical dataset. The weight value engine 913 mayperform one or more operations associated with calculating a relativeweight value associated with each of a plurality of data points and/orcategory types for a hierarchical dataset, and causing a plurality ofinteractive objects corresponding to the data points and/or categorytypes to be displayed in a size according to their correspondingrelative weight values. The target value engine 915 may perform one ormore operations associated with differentiating displayed objects in ahierarchical chart that meet or exceed a target value from objects in ahierarchical chart that are below a target value. The projection engine917 may perform one or more operations associated with differentiatingdisplayed objects in a hierarchical chart that rely on a projected scorefrom objects in a hierarchical chart that only rely on aggregate scores.

Furthermore, embodiments of the disclosure may be practiced in anelectrical circuit comprising discrete electronic elements, packaged orintegrated electronic chips containing logic gates, a circuit utilizinga microprocessor, or on a single chip containing electronic elements ormicroprocessors. For example, embodiments of the disclosure may bepracticed via a system-on-a-chip (SOC) where each or many of thecomponents illustrated in FIG. 9 may be integrated onto a singleintegrated circuit. Such an SOC device may include one or moreprocessing units, graphics units, communications units, systemvirtualization units and various application functionality all of whichare integrated (or “burned”) onto the chip substrate as a singleintegrated circuit. When operating via an SOC, the functionality,described herein, with respect to the capability of client to switchprotocols may be operated via application-specific logic integrated withother components of the computing device 900 on the single integratedcircuit (chip). Embodiments of the disclosure may also be practicedusing other technologies capable of performing logical operations suchas, for example, AND, OR, and NOT, including but not limited tomechanical, optical, fluidic, and quantum technologies. In addition,embodiments of the disclosure may be practiced within a general purposecomputer or in any other circuits or systems.

The computing device 900 may also have one or more input device(s) 912such as a keyboard, a mouse, a pen, a sound or voice input device, atouch or swipe input device, etc. The output device(s) 914 such as adisplay, speakers, a printer, etc. may also be included. Theaforementioned devices are examples and others may be used. Thecomputing device 900 may include one or more communication connections916 allowing communications with other computing devices 915. Examplesof suitable communication connections 916 include, but are not limitedto, radio frequency (RF) transmitter, receiver, and/or transceivercircuitry; universal serial bus (USB), parallel, and/or serial ports.

The term computer readable media as used herein may include computerstorage media. Computer storage media may include volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information, such as computer readableinstructions, data structures, or program modules. The system memory904, the removable storage device 909, and the non-removable storagedevice 910 are all computer storage media examples (e.g., memorystorage). Computer storage media may include RAM, ROM, electricallyerasable read-only memory (EEPROM), flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other article of manufacturewhich can be used to store information and which can be accessed by thecomputing device 900. Any such computer storage media may be part of thecomputing device 900. Computer storage media does not include a carrierwave or other propagated or modulated data signal.

Communication media may be embodied by computer readable instructions,data structures, program modules, or other data in a modulated datasignal, such as a carrier wave or other transport mechanism, andincludes any information delivery media. The term “modulated datasignal” may describe a signal that has one or more characteristics setor changed in such a manner as to encode information in the signal. Byway of example, and not limitation, communication media may includewired media such as a wired network or direct-wired connection, andwireless media such as acoustic, radio frequency (RF), infrared, andother wireless media.

FIG. 10 illustrates one aspect of the architecture of a system forprocessing data received at a computing system from a remote source,such as a personal/general computer 1004, tablet computing device 1006,or mobile computing device 1008, as described above. Content displayedat server device 1002 may be stored in different communication channelsor other storage types. For example, various documents may be storedusing a directory service 1022, a web portal 1024, a mailbox service1026, an instant messaging store 1028, or a social networking site 1030.The program modules 1006 may be employed by a client that communicateswith server device 1002, and/or the program modules 1006 may be employedby server device 1002. The server device 1002 may provide data to andfrom a client computing device such as a personal/general computer 1004,a tablet computing device 1006 and/or a mobile computing device 1008(e.g., a smart phone) through a network 1015. By way of example, thecomputer system described above with respect to FIGS. 7-9 may beembodied in a personal/general computer 1004, a tablet computing device1006 and/or a mobile computing device 1008 (e.g., a smart phone). Any ofthese embodiments of the computing devices may obtain content from thestore 1016, in addition to receiving graphical data useable to be eitherpre-processed at a graphic-originating system, or post-processed at areceiving computing system.

Aspects of the present disclosure, for example, are described above withreference to block diagrams and/or operational illustrations of methods,systems, and computer program products according to aspects of thedisclosure. The functions/acts noted in the blocks may occur out of theorder as shown in any flowchart. For example, two blocks shown insuccession may in fact be executed substantially concurrently or theblocks may sometimes be executed in the reverse order, depending uponthe functionality/acts involved.

The systems, methods, and devices described herein provide technicaladvantages for improving the discernibility of useful information inhierarchical datasets that include a plurality of data pointscorresponding to category types, where each of the data points isassociated with a score and a weight. The current disclosure presentsunique mechanisms for generating and displaying a single chart fromhierarchical datasets to quickly and efficiently view weight and scoreinformation associated with each data point and each category type, aswell as how those elements each contribute to an overall score for thedataset. The hierarchical charts described herein allow users to quicklyascertain what data points, categories, and associated scores of ahierarchical dataset provide the most impact on an overall score for areview or assessment of an item (e.g., a class grade, an employmentreview, a travel review, a product review, a business review, anaptitude assessment), as well as to efficiently determine whatareas/categories/data points should be focused on to improve the overallscore for the assessment or review. Unlike previous solutions forcharting hierarchical datasets with data points that include a score anda weight, which would typically require the generation of two graphs(one for score and one for weight), the hierarchical charts describedherein provide easily discernable information about the weight and scorefor data points and categories in a single chart. This saves onprocessing costs (i.e., CPU cycles), by only requiring that a singlechart be generated for a dataset, rather than multiple charts, as wastypically previously required. Storage costs associated with savingmultiple charts for a hierarchical dataset are also minimized by onlyrequiring the storage of one chart for each hierarchical dataset.

The description and illustration of one or more aspects provided in thisapplication are not intended to limit or restrict the scope of thedisclosure as claimed in any way. The aspects, examples, and detailsprovided in this application are considered sufficient to conveypossession and enable others to make and use the best mode of claimeddisclosure. The claimed disclosure should not be construed as beinglimited to any aspect, example, or detail provided in this application.Regardless of whether shown and described in combination or separately,the various features (both structural and methodological) are intendedto be selectively included or omitted to produce an embodiment with aparticular set of features. Having been provided with the descriptionand illustration of the present disclosure, one skilled in the art mayenvision variations, modifications, and alternate aspects falling withinthe spirit of the broader aspects of the general inventive conceptembodied in this application that do not depart from the broader scopeof the claimed disclosure.

The various embodiments described above are provided by way ofillustration only and should not be construed to limit the claimsattached hereto. Those skilled in the art will readily recognize variousmodifications and changes that may be made without following the exampleembodiments and applications illustrated and described herein, andwithout departing from the true spirit and scope of the followingclaims.

What is claimed is:
 1. A computer-implemented method for displaying interactive charts, the computer-implemented method comprising: receiving a dataset comprising a plurality of data points, wherein the dataset has an overall score, and wherein each of the plurality of data points: is a member of a hierarchical category type of the dataset; has a score comprising a first percentage of a total possible score for a corresponding data point, wherein each score for each of the plurality of data points contributes to the overall score for the dataset; and has a weight comprising a second percentage for a combined weight score for the overall score for the dataset; for each hierarchical category type, calculating a category weight value that each hierarchical category type contributes to the dataset, relative to each other category type; for each hierarchical category type, calculating a category score; causing, in a hierarchical size format relative to the calculated category weight values, a plurality of graphical objects to be displayed that each represent one of the hierarchical category types; and causing an indication of the calculated category score for a plurality of the hierarchical category types to be displayed as part of a plurality of corresponding displayed graphical objects.
 2. The computer-implemented method of claim 1, wherein the plurality of graphical objects are circular objects.
 3. The computer-implemented method of claim 1, further comprising: determining a hierarchical zoom level of the displayed graphical objects in a productivity application user interface, wherein the hierarchical zoom level comprises: a primary category type of the plurality of hierarchical category types having a most prominent display position in the productivity application user interface, a secondary category type of the plurality of hierarchical category types having a second most prominent display position in the productivity application user interface, and one or more tertiary category types of the plurality of hierarchical category types having less prominent display positions in the productivity application user interface than the primary category type and the second category type.
 4. The computer-implemented method of claim 3, wherein the indication of the calculated category score is only displayed in association with objects corresponding to the primary and secondary category types of the plurality of hierarchical category types.
 5. The computer-implemented method of claim 1 wherein one or more of the hierarchical category types are projection categories comprising a plurality of data points with accrued scores and a plurality of data points with projected scores, and wherein one or more of the hierarchical category types are accrued categories with accrued scores for each of their data points.
 6. The computer-implemented method of claim 5, wherein at least one display property of a displayed projection category object indicates that the displayed projection category object reflects projected scores, and wherein at least one display property of a displayed accrued category object indicates that the displayed accrued category object reflects accrued scores.
 7. The computer-implemented method of claim 1, wherein at least one of the hierarchical category types does not have an input score for at least one of its data points, and wherein the method further comprises: receiving a target value for the overall score; and displaying, via a display property of each of the displayed graphical objects, an indication of whether each corresponding hierarchical category type is above or below the received target value based on input scores for each corresponding hierarchical category type.
 8. A system for displaying interactive charts from hierarchical datasets, the system comprising: a memory for storing executable program code; and one or more processors, functionally coupled to the memory, the one or more processors being responsive to computer-executable instructions contained in the program code and operative to: receive a dataset comprising a plurality of data points, wherein the dataset has an overall score, and wherein each of the plurality of data points: is a member of a hierarchical category type of the dataset; has a score comprising a first percentage of a total possible score for a corresponding data point, wherein each score for each of the plurality of data points contributes to the overall score for the dataset; and has a weight comprising a second percentage for a combined weight score for the overall score for the dataset; for each hierarchical category type, calculate a category weight value that each hierarchical category type contributes to the dataset, relative to each other category type; for each hierarchical category type, calculate a category score; cause, in a hierarchical size format relative to the calculated category weight values, a plurality of graphical objects to be displayed that each represent one of the hierarchical category types; and cause an indication of the calculated category score for a plurality of the hierarchical category types to be displayed as part of a plurality of corresponding displayed graphical objects.
 9. The system of claim 8, wherein the plurality of graphical objects are circular objects.
 10. The system of claim 8, wherein the one or more processors are further responsive to the computer-executable instructions contained in the program code and operative to: determine a hierarchical zoom level of the displayed graphical objects in a productivity application user interface, wherein the hierarchical zoom level comprises: a primary category type of the plurality of hierarchical category types having a most prominent display position in the productivity application user interface; a secondary category type of the plurality of hierarchical category types having a second most prominent display position in the productivity application user interface, and one or more tertiary category types of the plurality of hierarchical category types having less prominent display positions in the productivity application user interface than the primary category type and the second category type.
 11. The system of claim 10, wherein the indication of the calculated category score is only displayed in association with objects corresponding to the primary and secondary category types of the plurality of hierarchical category types.
 12. The system of claim 11, wherein: each displayed graphical object corresponding to the primary category type has a display size that is larger than each displayed graphical object corresponding to the second category type and each displayed graphical object corresponding to the one or more tertiary category types; each displayed graphical object corresponding to the secondary category type has a display size that is larger than each displayed graphical object corresponding to each displayed graphical object corresponding to the one or more tertiary category types; and each displayed graphical object corresponding to the one or more tertiary category types has a same display size.
 13. The system of claim 8, wherein one or more of the hierarchical category types are projection categories comprising a plurality of data points with accrued scores and a plurality of data points with projected scores, and wherein one or more of the hierarchical category types are accrued categories with accrued scores for each of their data points.
 14. The system of claim 13, wherein at least one display property of a displayed projection category object indicates that the displayed projection category object reflects projected scores, and wherein at least one display property of a displayed accrued category object indicates that the displayed accrued category object reflects accrued scores.
 15. The system of claim 8, wherein at least one of the hierarchical category types does not have an input score for at least one of its data points, and wherein the one or more processors are further responsive to the computer-executable instructions contained in the program code and operative to: receive a target value for the overall score; and display, via a display property of each of the displayed graphical objects, an indication of whether each corresponding hierarchical category type is above or below the received target value based on input scores for each corresponding hierarchical category type.
 16. A computer-readable storage media comprising executable instructions that, when executed by a processor, assists with displaying interactive charts, the computer-readable storage media including instructions executable by the processor for: receiving a dataset having an overall score, the dataset comprising: a first data point that: is a member of a first hierarchical category type of the dataset; has a first score comprising a first percentage of a total possible score for the first data point, wherein the first score contributes to the overall score for the dataset; and has a first weight comprising a second percentage for a combined weight score for the overall score for the dataset; a second data point that: is a member of a second hierarchical category type of the dataset; has a second score comprising a third percentage of a total possible score for the second data point; and has a second weight comprising a fourth percentage for the combined weight score for the overall score for the dataset; causing, in a hierarchical size format relative to the first weight and the second weight: a first graphical display element corresponding to the first data point to be displayed, wherein the first graphical display element comprises an indication of the first percentage of the total possible score for the first datapoint; and a second graphical display element corresponding to the second data point to be displayed, wherein the second graphical display element comprises an indication of the third percentage of the total possible score for the second datapoint.
 17. The computer-readable storage media of claim 16, wherein the first graphical display element is a circular object and the second graphical display element is a circular object.
 18. The computer-readable storage media of claim 16, wherein: the first score is a projected score, and the first graphical display element is caused to be displayed in a first format; and the second score is an accrued score, and the second graphical display element is caused to be displayed in a second format. 